﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Kaidou.Model;
using Kaidou.Util;

namespace Kaidou.Bll
{
    public class MST_TraderManager
    {
        public List<string> checkInsertOrUpdateTrader(MstTrader M, System.Resources.ResourceManager rm, bool insert)
        {
            InputErrorException ie = new InputErrorException(rm);

            try
            {

                LogManager.info("MST_TraderManager - checkInsertTrader - insert begin");

                //組合員コードチェック
                ParameterCheckUtility.checkUnionCode(ie, M.UnionCode);
                // 支店コードチェック
                ParameterCheckUtility.checkBranchCode(ie, M.BranchCode);
                //組合員コード存在チェック
                ParameterCheckUtility.existBranch(ie, M.UnionCode, M.BranchCode);
                //販売業者登録番号
                ParameterCheckUtility.checkTraderRegNo(ie, M.TraderRegNo1, M.TraderRegNo2);
                //Trader_reg_no重複チェック
                ParameterCheckUtility.notexistTrader(ie, M.TraderRegNo, M.TraderRegNo1, M.TraderRegNo2, M.TraderSeqno);
                //設置業者名
                ParameterCheckUtility.checkTraderName(ie, M.TraderName);
                //設置業者名（カナ）
                ParameterCheckUtility.checkTraderNameKana(ie, M.TraderKana);
                //郵便番号
                ParameterCheckUtility.checkZipNo(ie, M.TraderZipNo, M.TraderZipNo1, M.TraderZipNo2);
                //都道府県
                ParameterCheckUtility.checkPrefCode(ie, M.TraderPrefCode);
                // 市区町村チェック
                ParameterCheckUtility.checkCity(ie, M.TraderCity);
                // 番地以降チェック
                ParameterCheckUtility.checkAddress(ie, M.TraderAddress);
                // 電話番号チェック
                ParameterCheckUtility.checkTelNo(ie, M.TraderTel);
                // 代表者名
                ParameterCheckUtility.checkDaihyoName(ie, M.DaihyoName);
                //代表者名(カナ)
                if (!StringUtil.isEmpty(M.DaihyoKana))
                {
                    //必須ではない。
                    ParameterCheckUtility.checkDaihyoNameKana(ie, M.DaihyoKana);
                }
            }catch(Exception e1)
            {
                ie.addErrorCode(ErrorCodeDefine.CHECK_SYS_ERROR);
                LogManager.error("MST_TraderManager - checkInsertOrUpdateTrader " + e1.Message);
            
            }
            return ie.getErrorMessages();
        }

    }
}
